package cz.semjob.learning.relation;

import java.util.List;

import cz.semjob.document.AnnotatedDocument;
import cz.semjob.document.annotation.RelationWordsPair;
import cz.semjob.document.annotation.metadata.Relation;
import cz.semjob.document.processing.DocumentInstance;
import cz.semjob.learning.data.TaxonomyLearningException;
import cz.semjob.learning.data.attribute.AInstanceAttribute;
import cz.semjob.learning.instances.LabeledRelationInstance;
import cz.semjob.learning.instances.UnlabeledRelationInstance;
import cz.semjob.learning.instances.creator.IInstanceCreator;

public interface IRelationInstanceCreator extends IInstanceCreator {

	List<LabeledRelationInstance> createRelationLabeledInstances(
			AnnotatedDocument annotatedDocument, Relation relation)
			throws TaxonomyLearningException;

	List<UnlabeledRelationInstance> createRelationUnlabeledInstances(
			DocumentInstance documentInstance,
			List<RelationWordsPair> relationWords)
			throws TaxonomyLearningException;

	List<AInstanceAttribute> getListOfAttributes();

}
